package com.hotpot.comm.config.exception;

import javax.servlet.http.HttpServletRequest;

import org.springframework.web.bind.annotation.ControllerAdvice;
import org.springframework.web.bind.annotation.ExceptionHandler;
import org.springframework.web.bind.annotation.ResponseBody;

import com.hotpot.comm.base.R;

/**
 * 
 * 描述:全局异常处理类
 * 
 * @author myx
 * @date 2017年7月4日 下午5:24:15
 */
@ControllerAdvice
/*
 * 我们只需要在Controller中抛出Exception，
 * 当然我们可能会有多种不同的Exception。
 * 然后在@ControllerAdvice类中，
 * 根据抛出的具体Exception类型匹配@ExceptionHandler中配置的异常类型来匹配错误映射和处理。
 */
public class GlobalExceptionHandler {
	/**
	 * 方法描述：全局异常返回数据
	 * @param req
	 * @param e
	 * @return
	 * @throws Exception
	 * @return: ModelAndView
	 */
	@ExceptionHandler(value = HotPotException.class)
	@ResponseBody
	public R defaultErrorHandler(HttpServletRequest req, Exception e)
			throws Exception {
		return new R(500, null, "服务异常", null);
	}

}
